{
"cells": [
{
"cell_type": "markdown",
"id": "e4f3a8b2-1c4d-4e5f-9a1b-0e8c7d6a5b3a",
"metadata": {},
"source": [
"# Tutorial 07 - Analysis Module\n",
"\n",
"This tutorial covers the new analysis module introduced in ANISE version 0.8.0. We will explore:\n",
"1. **Report Building:** Creating complex scalar reports, generating data, and visualizing it with Polars and Plotly.\n",
"2. **Event Finding:** Finding discrete events like apoapsis, periapsis, and eclipse entry/exit.\n",
"3. **Event Arc Finding:** Detecting continuous events (arcs) like eclipses and sunset periods.\n",
"4. **Ground Contact Finders:** Using `LocationDhallSet` to define ground stations and finding visibility/communication arcs."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"=== SPK #0: `../../data/lro.bsp` ===\n",
"┌───────────────┬────────────────┬────────────┬───────────────────────────────────┬───────────────────────────────────┬──────────┬──────────────────────┐\n",
"│ Name │ Target │ Center │ Start epoch │ End epoch │ Duration │ Interpolation kind │\n",
"├───────────────┼────────────────┼────────────┼───────────────────────────────────┼───────────────────────────────────┼──────────┼──────────────────────┤\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-15T00:01:09.183418531 TDB │ 2023-12-16T00:01:09.183445764 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-16T00:01:09.183445766 TDB │ 2023-12-17T00:01:09.183473001 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-17T00:01:09.183473003 TDB │ 2023-12-18T00:01:09.183500753 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-18T00:01:09.183500755 TDB │ 2023-12-19T00:01:09.183528378 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-19T00:01:09.183528380 TDB │ 2023-12-20T00:01:09.183556262 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-20T00:01:09.183556264 TDB │ 2023-12-21T00:01:09.183584149 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-21T00:01:09.183584151 TDB │ 2023-12-22T00:01:09.183612293 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-22T00:01:09.183612295 TDB │ 2023-12-23T00:01:09.183640567 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-23T00:01:09.183640569 TDB │ 2023-12-24T00:01:09.183668972 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-24T00:01:09.183668974 TDB │ 2023-12-25T00:01:09.183697379 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-25T00:01:09.183697381 TDB │ 2023-12-26T00:01:09.183725917 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-26T00:01:09.183725919 TDB │ 2023-12-27T00:01:09.183754585 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-27T00:01:09.183754587 TDB │ 2023-12-28T00:01:09.183783255 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-28T00:01:09.183783257 TDB │ 2023-12-29T00:01:09.183812055 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-29T00:01:09.183812057 TDB │ 2023-12-30T00:01:09.183840858 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-30T00:01:09.183840860 TDB │ 2023-12-31T00:01:09.183869791 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2023-12-31T00:01:09.183869793 TDB │ 2024-01-01T00:01:09.183898599 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-01T00:01:09.183898601 TDB │ 2024-01-02T00:01:09.183927664 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-02T00:01:09.183927666 TDB │ 2024-01-03T00:01:09.183956604 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-03T00:01:09.183956606 TDB │ 2024-01-04T00:01:09.183985547 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-04T00:01:09.183985549 TDB │ 2024-01-05T00:01:09.184014491 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-05T00:01:09.184014493 TDB │ 2024-01-06T00:01:09.184043565 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-06T00:01:09.184043567 TDB │ 2024-01-07T00:01:09.184072515 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-07T00:01:09.184072517 TDB │ 2024-01-08T00:01:09.184101466 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-08T00:01:09.184101468 TDB │ 2024-01-09T00:01:09.184130420 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-09T00:01:09.184130422 TDB │ 2024-01-10T00:01:09.184159376 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-10T00:01:09.184159378 TDB │ 2024-01-11T00:01:09.184188206 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-11T00:01:09.184188208 TDB │ 2024-01-12T00:01:09.184216912 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-12T00:01:09.184216914 TDB │ 2024-01-13T00:01:09.184245618 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-13T00:01:09.184245620 TDB │ 2024-01-14T00:01:09.184274327 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-14T00:01:09.184274329 TDB │ 2024-01-15T00:01:09.184302911 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-15T00:01:09.184302913 TDB │ 2024-01-16T00:01:09.184331240 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-16T00:01:09.184331242 TDB │ 2024-01-17T00:01:09.184359700 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-17T00:01:09.184359702 TDB │ 2024-01-18T00:01:09.184387905 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-18T00:01:09.184387907 TDB │ 2024-01-19T00:01:09.184415986 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-19T00:01:09.184415988 TDB │ 2024-01-20T00:01:09.184443940 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-20T00:01:09.184443942 TDB │ 2024-01-21T00:01:09.184471769 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-21T00:01:09.184471771 TDB │ 2024-01-22T00:01:09.184499470 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-22T00:01:09.184499472 TDB │ 2024-01-23T00:01:09.184527175 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-23T00:01:09.184527177 TDB │ 2024-01-24T00:01:09.184554497 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-24T00:01:09.184554499 TDB │ 2024-01-25T00:01:09.184581694 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-25T00:01:09.184581696 TDB │ 2024-01-26T00:01:09.184608766 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-26T00:01:09.184608768 TDB │ 2024-01-27T00:01:09.184635583 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-27T00:01:09.184635585 TDB │ 2024-01-28T00:01:09.184662273 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-28T00:01:09.184662275 TDB │ 2024-01-29T00:01:09.184688710 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-29T00:01:09.184688712 TDB │ 2024-01-30T00:01:09.184714892 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 ��� 2024-01-30T00:01:09.184714894 TDB │ 2024-01-31T00:01:09.184740949 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-01-31T00:01:09.184740951 TDB │ 2024-02-01T00:01:09.184766751 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-01T00:01:09.184766753 TDB │ 2024-02-02T00:01:09.184792172 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-02T00:01:09.184792174 TDB │ 2024-02-03T00:01:09.184817595 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-03T00:01:09.184817597 TDB │ 2024-02-04T00:01:09.184842507 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-04T00:01:09.184842509 TDB │ 2024-02-05T00:01:09.184867292 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-05T00:01:09.184867294 TDB │ 2024-02-06T00:01:09.184891825 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-06T00:01:09.184891827 TDB │ 2024-02-07T00:01:09.184916102 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-07T00:01:09.184916104 TDB │ 2024-02-08T00:01:09.184939997 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-08T00:01:09.184939999 TDB │ 2024-02-09T00:01:09.184963766 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-09T00:01:09.184963768 TDB │ 2024-02-10T00:01:09.184987025 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-10T00:01:09.184987027 TDB │ 2024-02-11T00:01:09.185010157 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-11T00:01:09.185010159 TDB │ 2024-02-12T00:01:09.185032906 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-12T00:01:09.185032908 TDB │ 2024-02-13T00:01:09.185055402 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-13T00:01:09.185055404 TDB │ 2024-02-14T00:01:09.185077515 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-14T00:01:09.185077517 TDB │ 2024-02-15T00:01:09.185099245 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-15T00:01:09.185099247 TDB │ 2024-02-16T00:01:09.185120850 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-16T00:01:09.185120852 TDB │ 2024-02-17T00:01:09.185141943 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-17T00:01:09.185141945 TDB │ 2024-02-18T00:01:09.185162653 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-18T00:01:09.185162655 TDB │ 2024-02-19T00:01:09.185182982 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-19T00:01:09.185182984 TDB │ 2024-02-20T00:01:09.185203056 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-20T00:01:09.185203058 TDB │ 2024-02-21T00:01:09.185222746 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-21T00:01:09.185222748 TDB │ 2024-02-22T00:01:09.185241926 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-22T00:01:09.185241928 TDB │ 2024-02-23T00:01:09.185260851 TDB │ 1 day �� Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-23T00:01:09.185260853 TDB │ 2024-02-24T00:01:09.185279522 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-24T00:01:09.185279524 TDB │ 2024-02-25T00:01:09.185297554 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-25T00:01:09.185297556 TDB │ 2024-02-26T00:01:09.185315331 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-26T00:01:09.185315333 TDB │ 2024-02-27T00:01:09.185332596 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-27T00:01:09.185332598 TDB │ 2024-02-28T00:01:09.185349607 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-28T00:01:09.185349609 TDB │ 2024-02-29T00:01:09.185366107 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-02-29T00:01:09.185366109 TDB │ 2024-03-01T00:01:09.185382224 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-01T00:01:09.185382226 TDB │ 2024-03-02T00:01:09.185397958 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-02T00:01:09.185397960 TDB │ 2024-03-03T00:01:09.185413181 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-03T00:01:09.185413183 TDB │ 2024-03-04T00:01:09.185428021 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-04T00:01:09.185428023 TDB │ 2024-03-05T00:01:09.185442478 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-05T00:01:09.185442480 TDB │ 2024-03-06T00:01:09.185456422 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-06T00:01:09.185456424 TDB │ 2024-03-07T00:01:09.185469985 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-07T00:01:09.185469987 TDB │ 2024-03-08T00:01:09.185482908 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-08T00:01:09.185482910 TDB │ 2024-03-09T00:01:09.185495575 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-09T00:01:09.185495577 TDB │ 2024-03-10T00:01:09.185507731 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-10T00:01:09.185507733 TDB │ 2024-03-11T00:01:09.185519632 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-11T00:01:09.185519634 TDB │ 2024-03-12T00:01:09.185530765 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-12T00:01:09.185530767 TDB │ 2024-03-13T00:01:09.185541515 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-13T00:01:09.185541517 TDB │ 2024-03-14T00:01:09.185551881 TDB │ 1 day │ Hermite Unequal Step │\n",
"│ SPK_STATES_13 │ body -85 J2000 │ Moon J2000 │ 2024-03-14T00:01:09.185551883 TDB │ 2024-03-15T00:01:09.185561735 TDB │ 1 day │ Hermite Unequal Step │\n",
"└───────────────┴────────────────┴────────────┴───────────────────────────────────┴───────────────────────────────────┴──────────┴────���─────────────────┘\n",
"=== SPK #1: `../../data/de440s.bsp` ===\n",
"┌────────────────┬─────────────────────────────┬───────────────────────────────┬───────────────────────────────────┬───────────────────────────────────┬─────────────┬────────────────────┐\n",
"│ Name │ Target │ Center │ Start epoch │ End epoch │ Duration │ Interpolation kind │\n",
"├────────────────┼───────────────────────────��─┼───────────────────────────────┼───────────────────────────────────┼───────────────────────────────────┼─────────────┼────────────────────┤\n",
"│ DE-0440LE-0440 │ Mercury Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Venus Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Earth-Moon Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Mars Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Jupiter Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Saturn Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Uranus Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Neptune Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Pluto Barycenter J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Sun J2000 │ Solar System Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Moon J2000 │ Earth-Moon Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Earth J2000 │ Earth-Moon Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Mercury J2000 │ Mercury Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"│ DE-0440LE-0440 │ Venus J2000 │ Venus Barycenter J2000 │ 1849-12-26T00:00:00.000046619 TDB │ 2150-01-21T23:59:59.999955184 TDB │ 109600 days │ Chebyshev Triplet │\n",
"└────────────────┴─────────────────────────────┴───────────────────────────────┴───────────────────────────────────┴───────────────────────────────────┴─────────────┴────────────────────┘\n"
]
}
],
"source": [
"import polars as pl\n",
"import plotly.express as px\n",
"from anise import (\n",
" Almanac,\n",
" Aberration,\n",
" LocationDhallSet,\n",
" LocationDhallSetEntry,\n",
" LocationDataSet,\n",
")\n",
"from anise.astro import Location, TerrainMask, FrameUid, Frame\n",
"from anise.analysis import Event, Condition\n",
"import anise.analysis as analysis\n",
"from anise.time import Duration, Epoch, TimeSeries, Unit\n",
"from anise.constants import Frames, Orientations\n",
"\n",
"# Load the Almanac with necessary kernels\n",
"almanac = (\n",
" Almanac(\"../../data/de440s.bsp\")\n",
" .load(\"../../data/pck08.pca\")\n",
" .load(\"../../data/lro.bsp\")\n",
")\n",
"almanac.describe(spk=True)"
]
},
{
"cell_type": "markdown",
"id": "b2c3d4e5-f678-9012-3456-7890abcdef12",
"metadata": {},
"source": [
"## 1. Report Building\n",
"\n",
"We can define complex scalar expressions and generate reports over a time series. This is useful for analyzing orbital elements, geometric conditions, and custom calculations."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "c3d4e5f6-7890-1234-5678-90abcdef1234",
"metadata": {},
"outputs": [],
"source": [
"target_frame = analysis.FrameSpec.Loaded(Frame(-85, Orientations.J2000))\n",
"observer_frame = analysis.FrameSpec.Loaded(Frames.MOON_J2000)\n",
"\n",
"state = analysis.StateSpec(\n",
" target_frame=target_frame,\n",
" observer_frame=observer_frame,\n",
" ab_corr=None,\n",
")\n",
"\n",
"# Define a VNC (Velocity-Normal-Co-normal) Frame\n",
"vnc = analysis.OrthogonalFrame.XY(\n",
" x=analysis.VectorExpr.Unit(analysis.VectorExpr.Velocity(state)),\n",
" y=analysis.VectorExpr.Unit(analysis.VectorExpr.OrbitalMomentum(state)),\n",
")\n",
"\n",
"sun_state = analysis.StateSpec(\n",
" target_frame=target_frame,\n",
" observer_frame=analysis.FrameSpec.Loaded(Frames.SUN_J2000),\n",
" ab_corr=Aberration(\"LT\"),\n",
")\n",
"\n",
"# Project the Earth->Sun vector onto the VNC frame\n",
"proj = analysis.VectorExpr.Project(\n",
" v=analysis.VectorExpr.Negate(\n",
" analysis.VectorExpr.Unit(analysis.VectorExpr.Radius(sun_state))\n",
" ),\n",
" frame=vnc,\n",
" plane=analysis.Plane.XY,\n",
")\n",
"\n",
"# Custom Local Solar Time (LST) Calculation using fundamental expressions\n",
"earth_sun = analysis.StateSpec(\n",
" target_frame=analysis.FrameSpec.Loaded(Frames.SUN_J2000),\n",
" observer_frame=observer_frame,\n",
" ab_corr=Aberration(\"LT\"),\n",
")\n",
"u = analysis.VectorExpr.Unit(\n",
" analysis.VectorExpr.CrossProduct(\n",
" a=analysis.VectorExpr.Unit(analysis.VectorExpr.Radius(earth_sun)),\n",
" b=analysis.VectorExpr.Unit(analysis.VectorExpr.OrbitalMomentum(state)),\n",
" )\n",
")\n",
"v = analysis.VectorExpr.CrossProduct(\n",
" a=analysis.VectorExpr.Unit(analysis.VectorExpr.OrbitalMomentum(state)), b=u\n",
")\n",
"r = analysis.VectorExpr.Radius(state)\n",
"sin_theta = analysis.ScalarExpr.DotProduct(a=v, b=r)\n",
"cos_theta = analysis.ScalarExpr.DotProduct(a=u, b=r)\n",
"theta = analysis.ScalarExpr.Atan2(y=sin_theta, x=cos_theta)\n",
"lst_prod = analysis.ScalarExpr.Mul(\n",
" a=analysis.ScalarExpr.Mul(a=theta, b=analysis.ScalarExpr.Constant(1.0 / 180.0)),\n",
" b=analysis.ScalarExpr.Constant(12.0),\n",
")\n",
"lst_add = analysis.ScalarExpr.Add(a=lst_prod, b=analysis.ScalarExpr.Constant(6.0))\n",
"lst = analysis.ScalarExpr.Modulo(v=lst_add, m=analysis.ScalarExpr.Constant(24.0))\n",
"\n",
"# Define scalars to report\n",
"scalars = [\n",
" analysis.ScalarExpr.Element(analysis.OrbitalElement.SemiMajorAxis),\n",
" analysis.ScalarExpr.Element(analysis.OrbitalElement.Eccentricity),\n",
" analysis.ScalarExpr.SolarEclipsePercentage(eclipsing_frame=Frames.VENUS_J2000),\n",
" analysis.ScalarExpr.VectorX(proj),\n",
" analysis.ScalarExpr.VectorY(proj),\n",
" analysis.ScalarExpr.VectorZ(proj),\n",
" analysis.ScalarExpr.LocalSolarTime(),\n",
" lst,\n",
"]\n",
"\n",
"# Set aliases for readable columns\n",
"scalars_with_aliases = [(s, None) for s in scalars]\n",
"scalars_with_aliases[3] = (scalars_with_aliases[3][0], \"proj VNC X\")\n",
"scalars_with_aliases[4] = (scalars_with_aliases[4][0], \"proj VNC Y\")\n",
"scalars_with_aliases[5] = (scalars_with_aliases[5][0], \"proj VNC Z\")\n",
"scalars_with_aliases[7] = (scalars_with_aliases[7][0], \"Custom LST (h)\")\n",
"\n",
"report = analysis.ReportScalars(scalars_with_aliases, state)"
]
},
{
"cell_type": "markdown",
"id": "d4e5f678-9012-3456-7890-abcdef123456",
"metadata": {},
"source": [
"Now we generate the data over a time series and convert it to a Polars DataFrame."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "e5f67890-1234-5678-90ab-cdef12345678",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LRO valid from 2023-12-15T00:01:09.183425793 ET to 2024-03-15T00:01:09.185563263 ET\n",
"shape: (5, 9)\n",
"┌───────────┬───────────┬───────────┬───────────┬───┬───────────┬───────────┬───────────┬──────────┐\n",
"│ Epoch ┆ proj VNC ┆ local ┆ solar ┆ … ┆ Custom ┆ proj VNC ┆ SemiMajor ┆ proj VNC │\n",
"│ --- ┆ X ┆ solar ┆ eclipse ┆ ┆ LST (h) ┆ Y ┆ Axis (km) ┆ Z │\n",
"│ datetime[ ┆ --- ┆ time (h) ┆ due to ┆ ┆ --- ┆ --- ┆ --- ┆ --- │\n",
"│ μs] ┆ f64 ┆ --- ┆ Venus ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 │\n",
"│ ┆ ┆ f64 ┆ Bar… ┆ ┆ ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ --- ┆ ┆ ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ f64 ┆ ┆ ┆ ┆ ┆ │\n",
"╞═══════════╪═══════════╪═══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪══════════╡\n",
"│ 2024-03-1 ┆ -0.382568 ┆ 21.345665 ┆ 0.0 ┆ … ┆ 21.345665 ┆ 0.753565 ┆ 1827.7867 ┆ -0.53235 │\n",
"│ 3 12:01:0 ┆ ┆ ┆ ┆ ┆ ┆ ┆ 98 ┆ 5 │\n",
"│ 9.185563 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ 2024-03-1 ┆ -0.055965 ┆ 23.400991 ┆ 0.0 ┆ … ┆ 23.400991 ┆ 0.75363 ┆ 1828.0145 ┆ -0.65309 │\n",
"│ 3 12:11:0 ┆ ┆ ┆ ┆ ┆ ┆ ┆ 17 ┆ 6 │\n",
"│ 9.185563 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ 2024-03-1 ┆ 0.287843 ┆ 1.474358 ┆ 0.0 ┆ … ┆ 1.474358 ┆ 0.753692 ┆ 1827.7419 ┆ -0.58883 │\n",
"│ 3 12:21:0 ┆ ┆ ┆ ┆ ┆ ┆ ┆ 3 ┆ 2 │\n",
"│ 9.185563 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ 2024-03-1 ┆ 0.550096 ┆ 3.559474 ┆ 0.0 ┆ … ┆ 3.559474 ┆ 0.753795 ┆ 1827.3555 ┆ -0.35611 │\n",
"│ 3 12:31:0 ┆ ┆ ┆ ┆ ┆ ┆ ┆ 14 ┆ 7 │\n",
"│ 9.185563 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ 2024-03-1 ┆ 0.654768 ┆ 5.647546 ┆ 0.0 ┆ … ┆ 5.647546 ┆ 0.753964 ┆ 1827.3668 ┆ -0.02131 │\n",
"│ 3 12:41:0 ┆ ┆ ┆ ┆ ┆ ┆ ┆ 86 ┆ │\n",
"│ 9.185563 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"└───────────┴───────────┴───────────┴───────────┴───┴───────────┴───────────┴───────────┴──────────┘\n"
]
}
],
"source": [
"lro_start, lro_stop = almanac.spk_domain(-85)\n",
"print(f\"LRO valid from {lro_start} to {lro_stop}\")\n",
"series = TimeSeries(\n",
" lro_stop - Unit.Day * 1.5,\n",
" lro_stop,\n",
" Unit.Minute * 10, # Higher resolution for plotting\n",
" inclusive=True,\n",
")\n",
"\n",
"data = almanac.report_scalars(report, series)\n",
"\n",
"# Convert to Polars DataFrame\n",
"rows = []\n",
"for epoch_str, val_dict in data.items():\n",
" row = {\"Epoch\": epoch_str}\n",
" row.update(val_dict)\n",
" rows.append(row)\n",
"\n",
"df = pl.DataFrame(rows)\n",
"# Convert Epoch string to datetime for better plotting\n",
"df = df.with_columns(pl.col(\"Epoch\").str.to_datetime()).sort(\"Epoch\")\n",
"print(df.head())"
]
},
{
"cell_type": "markdown",
"id": "f6789012-3456-7890-abcd-ef1234567890",
"metadata": {},
"source": [
"Let's visualize the Custom LST vs Time."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "78901234-5678-90ab-cdef-1234567890ab",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Epoch=%{x}
Custom LST (h)=%{y}",
"legendgroup": "",
"line": {
"color": "#636efa",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "",
"orientation": "v",
"showlegend": false,
"type": "scatter",
"x": [
"2024-03-13T12:01:09.185563",
"2024-03-13T12:11:09.185563",
"2024-03-13T12:21:09.185563",
"2024-03-13T12:31:09.185563",
"2024-03-13T12:41:09.185563",
"2024-03-13T12:51:09.185563",
"2024-03-13T13:01:09.185563",
"2024-03-13T13:11:09.185563",
"2024-03-13T13:21:09.185563",
"2024-03-13T13:31:09.185563",
"2024-03-13T13:41:09.185563",
"2024-03-13T13:51:09.185563",
"2024-03-13T14:01:09.185563",
"2024-03-13T14:11:09.185563",
"2024-03-13T14:21:09.185563",
"2024-03-13T14:31:09.185563",
"2024-03-13T14:41:09.185563",
"2024-03-13T14:51:09.185563",
"2024-03-13T15:01:09.185563",
"2024-03-13T15:11:09.185563",
"2024-03-13T15:21:09.185563",
"2024-03-13T15:31:09.185563",
"2024-03-13T15:41:09.185563",
"2024-03-13T15:51:09.185563",
"2024-03-13T16:01:09.185563",
"2024-03-13T16:11:09.185563",
"2024-03-13T16:21:09.185563",
"2024-03-13T16:31:09.185563",
"2024-03-13T16:41:09.185563",
"2024-03-13T16:51:09.185563",
"2024-03-13T17:01:09.185563",
"2024-03-13T17:11:09.185563",
"2024-03-13T17:21:09.185563",
"2024-03-13T17:31:09.185563",
"2024-03-13T17:41:09.185563",
"2024-03-13T17:51:09.185563",
"2024-03-13T18:01:09.185563",
"2024-03-13T18:11:09.185563",
"2024-03-13T18:21:09.185563",
"2024-03-13T18:31:09.185563",
"2024-03-13T18:41:09.185563",
"2024-03-13T18:51:09.185563",
"2024-03-13T19:01:09.185563",
"2024-03-13T19:11:09.185563",
"2024-03-13T19:21:09.185563",
"2024-03-13T19:31:09.185563",
"2024-03-13T19:41:09.185563",
"2024-03-13T19:51:09.185563",
"2024-03-13T20:01:09.185563",
"2024-03-13T20:11:09.185563",
"2024-03-13T20:21:09.185563",
"2024-03-13T20:31:09.185563",
"2024-03-13T20:41:09.185563",
"2024-03-13T20:51:09.185563",
"2024-03-13T21:01:09.185563",
"2024-03-13T21:11:09.185563",
"2024-03-13T21:21:09.185563",
"2024-03-13T21:31:09.185563",
"2024-03-13T21:41:09.185563",
"2024-03-13T21:51:09.185563",
"2024-03-13T22:01:09.185563",
"2024-03-13T22:11:09.185563",
"2024-03-13T22:21:09.185563",
"2024-03-13T22:31:09.185563",
"2024-03-13T22:41:09.185563",
"2024-03-13T22:51:09.185563",
"2024-03-13T23:01:09.185563",
"2024-03-13T23:11:09.185563",
"2024-03-13T23:21:09.185563",
"2024-03-13T23:31:09.185563",
"2024-03-13T23:41:09.185563",
"2024-03-13T23:51:09.185563",
"2024-03-14T00:01:09.185563",
"2024-03-14T00:11:09.185563",
"2024-03-14T00:21:09.185563",
"2024-03-14T00:31:09.185563",
"2024-03-14T00:41:09.185563",
"2024-03-14T00:51:09.185563",
"2024-03-14T01:01:09.185563",
"2024-03-14T01:11:09.185563",
"2024-03-14T01:21:09.185563",
"2024-03-14T01:31:09.185563",
"2024-03-14T01:41:09.185563",
"2024-03-14T01:51:09.185563",
"2024-03-14T02:01:09.185563",
"2024-03-14T02:11:09.185563",
"2024-03-14T02:21:09.185563",
"2024-03-14T02:31:09.185563",
"2024-03-14T02:41:09.185563",
"2024-03-14T02:51:09.185563",
"2024-03-14T03:01:09.185563",
"2024-03-14T03:11:09.185563",
"2024-03-14T03:21:09.185563",
"2024-03-14T03:31:09.185563",
"2024-03-14T03:41:09.185563",
"2024-03-14T03:51:09.185563",
"2024-03-14T04:01:09.185563",
"2024-03-14T04:11:09.185563",
"2024-03-14T04:21:09.185563",
"2024-03-14T04:31:09.185563",
"2024-03-14T04:41:09.185563",
"2024-03-14T04:51:09.185563",
"2024-03-14T05:01:09.185563",
"2024-03-14T05:11:09.185563",
"2024-03-14T05:21:09.185563",
"2024-03-14T05:31:09.185563",
"2024-03-14T05:41:09.185563",
"2024-03-14T05:51:09.185563",
"2024-03-14T06:01:09.185563",
"2024-03-14T06:11:09.185563",
"2024-03-14T06:21:09.185563",
"2024-03-14T06:31:09.185563",
"2024-03-14T06:41:09.185563",
"2024-03-14T06:51:09.185563",
"2024-03-14T07:01:09.185563",
"2024-03-14T07:11:09.185563",
"2024-03-14T07:21:09.185563",
"2024-03-14T07:31:09.185563",
"2024-03-14T07:41:09.185563",
"2024-03-14T07:51:09.185563",
"2024-03-14T08:01:09.185563",
"2024-03-14T08:11:09.185563",
"2024-03-14T08:21:09.185563",
"2024-03-14T08:31:09.185563",
"2024-03-14T08:41:09.185563",
"2024-03-14T08:51:09.185563",
"2024-03-14T09:01:09.185563",
"2024-03-14T09:11:09.185563",
"2024-03-14T09:21:09.185563",
"2024-03-14T09:31:09.185563",
"2024-03-14T09:41:09.185563",
"2024-03-14T09:51:09.185563",
"2024-03-14T10:01:09.185563",
"2024-03-14T10:11:09.185563",
"2024-03-14T10:21:09.185563",
"2024-03-14T10:31:09.185563",
"2024-03-14T10:41:09.185563",
"2024-03-14T10:51:09.185563",
"2024-03-14T11:01:09.185563",
"2024-03-14T11:11:09.185563",
"2024-03-14T11:21:09.185563",
"2024-03-14T11:31:09.185563",
"2024-03-14T11:41:09.185563",
"2024-03-14T11:51:09.185563",
"2024-03-14T12:01:09.185563",
"2024-03-14T12:11:09.185563",
"2024-03-14T12:21:09.185563",
"2024-03-14T12:31:09.185563",
"2024-03-14T12:41:09.185563",
"2024-03-14T12:51:09.185563",
"2024-03-14T13:01:09.185563",
"2024-03-14T13:11:09.185563",
"2024-03-14T13:21:09.185563",
"2024-03-14T13:31:09.185563",
"2024-03-14T13:41:09.185563",
"2024-03-14T13:51:09.185563",
"2024-03-14T14:01:09.185563",
"2024-03-14T14:11:09.185563",
"2024-03-14T14:21:09.185563",
"2024-03-14T14:31:09.185563",
"2024-03-14T14:41:09.185563",
"2024-03-14T14:51:09.185563",
"2024-03-14T15:01:09.185563",
"2024-03-14T15:11:09.185563",
"2024-03-14T15:21:09.185563",
"2024-03-14T15:31:09.185563",
"2024-03-14T15:41:09.185563",
"2024-03-14T15:51:09.185563",
"2024-03-14T16:01:09.185563",
"2024-03-14T16:11:09.185563",
"2024-03-14T16:21:09.185563",
"2024-03-14T16:31:09.185563",
"2024-03-14T16:41:09.185563",
"2024-03-14T16:51:09.185563",
"2024-03-14T17:01:09.185563",
"2024-03-14T17:11:09.185563",
"2024-03-14T17:21:09.185563",
"2024-03-14T17:31:09.185563",
"2024-03-14T17:41:09.185563",
"2024-03-14T17:51:09.185563",
"2024-03-14T18:01:09.185563",
"2024-03-14T18:11:09.185563",
"2024-03-14T18:21:09.185563",
"2024-03-14T18:31:09.185563",
"2024-03-14T18:41:09.185563",
"2024-03-14T18:51:09.185563",
"2024-03-14T19:01:09.185563",
"2024-03-14T19:11:09.185563",
"2024-03-14T19:21:09.185563",
"2024-03-14T19:31:09.185563",
"2024-03-14T19:41:09.185563",
"2024-03-14T19:51:09.185563",
"2024-03-14T20:01:09.185563",
"2024-03-14T20:11:09.185563",
"2024-03-14T20:21:09.185563",
"2024-03-14T20:31:09.185563",
"2024-03-14T20:41:09.185563",
"2024-03-14T20:51:09.185563",
"2024-03-14T21:01:09.185563",
"2024-03-14T21:11:09.185563",
"2024-03-14T21:21:09.185563",
"2024-03-14T21:31:09.185563",
"2024-03-14T21:41:09.185563",
"2024-03-14T21:51:09.185563",
"2024-03-14T22:01:09.185563",
"2024-03-14T22:11:09.185563",
"2024-03-14T22:21:09.185563",
"2024-03-14T22:31:09.185563",
"2024-03-14T22:41:09.185563",
"2024-03-14T22:51:09.185563",
"2024-03-14T23:01:09.185563",
"2024-03-14T23:11:09.185563",
"2024-03-14T23:21:09.185563",
"2024-03-14T23:31:09.185563",
"2024-03-14T23:41:09.185563",
"2024-03-14T23:51:09.185563",
"2024-03-15T00:01:09.185563"
],
"xaxis": "x",
"y": {
"bdata": "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",
"dtype": "f8"
},
"yaxis": "y"
}
],
"layout": {
"legend": {
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermap": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermap"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Custom Local Solar Time over Time"
},
"xaxis": {
"anchor": "y",
"domain": [
0,
1
],
"title": {
"text": "Epoch"
}
},
"yaxis": {
"anchor": "x",
"domain": [
0,
1
],
"title": {
"text": "Custom LST (h)"
}
}
}
},
"image/png": "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qSZAo0iqQ4DvJwESyAQC1JEESIAESIAESIAESIAESCCABGgUCWCgUCQSMJsApScBEiABEiABEiABEiABEiABMwjQKGJGOFHKoBKgXCRAAiRAAiRAAiRAAiRAAiRAAsYSoFHE2KCrfcH5RhIgARIgARIgARIgARIgARIgARJIJwI0iiQOTZ4lARIgARIgARIgARIgARIgARIgARJIcwJZImmuIdUjARIgARIgARIgARIgARIgARIgARIQEUKIJ8CRIvFEeEwCJEACJEACJEACJEACJEACJGA+AWpAAhUgQKNIBSDxEhIgARIgARIgARIgARIgARIIMgHKRgIkUDUCNIpUjRvvIgESIAESIAESIAESIAESSA0BvpUESIAEqo0AjSLVhpIPIgESIAESIAESIAESIIHqJsDnkQAJkAAJ1CQBGkVqki6fTQIkQAIkQAIkQAIkUHECvJIESIAESIAEapkAjSK1DJyvIwESIAESIAES2D0Cp4+eKO9++OXuPSQAd1MEEiABEiABEiCB1BOgUST1YUAJSIAESIAESMAoAstWrpGefYfv5J55eUp5evA8CZAACZAACZAACQSSAI0igQwWCkUCJEACJGAugcyR/Nupj8msj5723HmnD8gc5akpCZAACZAACZBAWhCgUSQtgpFKkAAJkECKCPC1JJCAwJ0PPS8YNTL55Sky6LdXSd9hl8p9j70i0WiJd/XaXzbK+Il/lcOGXCCDz71abnvwOdm46VfPHztTPvpKxlx5j/QZNFbOvfhWmTFnEU7bDveff9ntcuCA0XLy+dfJv979r32ePyRAAiRAAiRAAiRQGQI0ilSGFq8lARLIaAJUngRIoOIEHn7mddm+o1ief/gGuXfihTLloy/l2Ven2g8oLS2VUX+8Sxrm1pN/PXWL/OWWSwRGjrFX32v742eKZRC5edJkOePEY+WDlyfJiLNOkL32bAQv2z3x/Fvym5P7yQevTJLzzzxBrrv9cflx+Wrbjz8kQAIkQAIkQAIkUFECNIpUlBSvI4HMIkBtSYAESGCXBHofPypmXZH5i5Z593Tt2EZGnTNEGjdsIL336Sajf3ui/OsdZzTH/76ZJT+vWS/XX/o7adF8T+nUvpXcfOUImbvgR5k5b7H9jL9bBpThZw6Ufkf1ltwG9eTYww+QNi2b2X74GdC3jwzoe7D9/FMGHil5XdrJF9Nnw4uOBEiABEiABEiABCpMgEaRCqPihelLgJqRAAmQAAlUhcAjd1wuT066ynNtWzX3HtOhbQtvEMuPaQAABShJREFUHzs9uneUn1Y4IzkwoqNb57aSE86Gl+3q16srHdq0kIVLVtjHC5eukF55nez9RD/drfv959tb924t2u4/xX0SIAESIAESIAES2CUBGkV2iSjNLqA6JEACJEACJFBNBPockC+HHFDgufr19vCeHIlEvX3sYMqMuuLiCE4ldDnhsH2+tKTU3pb3AyNKeX48TwIkQAIkQAIkQAIVJZDWRpGKQuB1JEACJEACJEAC1Utg0Y8rYx44p3CpYCRJKBSSju1aSuGiZVLsM5xsLdomS5atkk7tW9r3dbCumV24xN7nDwmQAAmQAAmQAAnsikBV/WkUqSo53kcCJEACJEACJFAugUVLV8iTL7xtf1Fmy69F8tQL78iwIcfY1x96YE9p0jhX/nzfZHttkcWWAWXCnU/Kfj26SEG3DvY1Z5/az77n4/99L7h/+sxCwXW2J39IgARIgARIILMJUPtqJECjSDXC5KNIgARIgARIIJMIxC+0is/wqv4nDzxSvv2hUA4/6UI58bxrpP/RB8pvh/6f7Z0Tzpan77tGMJ3mjDETZfilt0udnBy5/6aLbX/8nHT8EXLpqNMFX5k54qSLZOxV98r6jVvgRUcCJEACJJBRBKgsCdQsARpFapYvn04CJEACJEACaUcA02BmffS0xLvzTh/g6VpaUiJ/ufUS+5oPX7lPxo0cJtnZZdWOvZs1kZuuGCEfv3a/7W67dpQ9esR7gLUzbPDRMvmBa+X795+QL9562P6KjXVaXn50ogw8tg92PXffTReJ//2eB3dIgARIwCQClJUESKDWCWTV+hv5QhIgARIgARIggbQnUJp8ndS0158KkgAJ7JoAryABEiCBIBCgUSQIoUAZSIAESIAESIAESIAE0pkAdSMBEiABEggoARpFAhowFIsESIAESIAESIAEzCRAqUmABEiABEjAHAI0ipgTVpSUBEiABEiABIwgcOWFZ8nEPw43QtbdFpIPIAESIAESIAESMJoAjSJGBx+FJwESIAESIIHaI8A3kQAJkAAJkAAJkEC6EaBRJN1ClPqQAAmQAAlUBwE+gwRIgARIgARIgARIIAMI0CiSAYFMFUmABEggOQH6kgAJkAAJkAAJkAAJkEBmEqBRJDPDnVqTQOYSoOYkQAIkQAIkQAIkQAIkQAIk4BKgUcQFwQ0JpCMB6kQCJEACJEACJEACJEACJEACJFA+ARpFymdDH7MIUFoSIAESIAESIAESIAESIAESIAESqBQBGkUqhSsoF1MOEiABEiABEiABEiABEiABEiABEiCB3SUQfKPI7mrI+0mABEiABEiABEiABEiABEiABEiABIJPIAUS0iiSAuh8JQmQAAmQAAmQAAmQAAmQAAmQQGYToPbBIECjSDDCgVKQAAmQAAmQAAmQAAmQAAmQQLoSoF4kEFgCNIoENmgoGAmQAAmQAAmQAAmQAAmQgHkEKDEJkIBJBGgUMSm0KCsJkAAJkAAJkAAJkAAJBIkAZSEBEiABwwnQKGJ4AFJ8EiABEiABEiABEiCB2iHAt5AACZAACaQfARpF0i9MqREJkAAJkAAJkAAJ7C4B3k8CJEACJEACGUGARpGMCGYqSQIkQAIkQAIkUD4B+pAACZAACZAACWQqARpFMjXkqTcJkAAJkEBmEqDWJEACJEACJEACJEACHgEaRTwU3CEBEiABEkg3AtSHBEiABEiABEiABEiABJIRoFEkGR36kQAJkIA5BCgpCZAACZAACZAACZAACZBAJQn8PwAAAP//hdP6RwAAAAZJREFUAwBBTMqwFj6s2gAAAABJRU5ErkJggg=="
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(df, x=\"Epoch\", y=\"Custom LST (h)\", title=\"Custom Local Solar Time over Time\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "89012345-6789-0abc-def1-234567890abc",
"metadata": {},
"source": [
"## 2. Event Finding\n",
"\n",
"We can search for discrete events such as apoapsis, periapsis, or specific geometric conditions."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "90123456-7890-abcd-ef12-34567890abcd",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Searching events from 2023-12-15T00:01:09.183425793 ET to 2023-12-17T00:01:09.183425793 ET\n",
"Found 25 apoapsis events.\n",
"Found 24 periapsis events.\n",
"Apoapsis 1: 2023-12-15T00:07:04.599486254 ET\n",
"Apoapsis 2: 2023-12-15T02:05:09.311922236 ET\n",
"Apoapsis 3: 2023-12-15T04:03:14.118872647 ET\n"
]
}
],
"source": [
"lro_frame = Frame(-85, 1) # LRO NAIF ID\n",
"lro_state_spec = analysis.StateSpec(\n",
" target_frame=analysis.FrameSpec.Loaded(lro_frame),\n",
" observer_frame=analysis.FrameSpec.Loaded(Frames.MOON_J2000),\n",
" ab_corr=None,\n",
")\n",
"\n",
"apolune = Event.apoapsis()\n",
"perilune = Event.periapsis()\n",
"\n",
"start_epoch, end_epoch = almanac.spk_domain(-85)\n",
"# Search over a shorter window\n",
"search_end = start_epoch + Unit.Day * 2\n",
"\n",
"print(f\"Searching events from {start_epoch} to {search_end}\")\n",
"\n",
"apo_events = almanac.report_events(lro_state_spec, apolune, start_epoch, search_end)\n",
"print(f\"Found {len(apo_events)} apoapsis events.\")\n",
"\n",
"peri_events = almanac.report_events(lro_state_spec, perilune, start_epoch, search_end)\n",
"print(f\"Found {len(peri_events)} periapsis events.\")\n",
"\n",
"# Print first few events\n",
"for i, event in enumerate(apo_events[:3]):\n",
" print(f\"Apoapsis {i+1}: {event.orbit.epoch}\")"
]
},
{
"cell_type": "markdown",
"id": "01234567-890a-bcde-f123-4567890abcde",
"metadata": {},
"source": [
"## 3. Event Arc Finding\n",
"\n",
"Event arcs represent continuous periods where a condition is met, such as being in eclipse or having the sun set."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "12345678-90ab-cdef-1234-567890abcdef",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found 11 sunset arcs.\n",
"Found 25 eclipse arcs.\n",
"First eclipse duration: 39 min 12 s 806 ms 171 μs 252 ns\n"
]
}
],
"source": [
"sun_has_set = analysis.Event(\n",
" analysis.ScalarExpr.SunAngle(observer_id=-85),\n",
" Condition.LessThan(90.0),\n",
" Unit.Second * 0.5,\n",
" ab_corr=None,\n",
")\n",
"eclipse = Event.total_eclipse(Frames.MOON_J2000)\n",
"\n",
"sunset_arcs = almanac.report_event_arcs(lro_state_spec, sun_has_set, start_epoch, search_end)\n",
"print(f\"Found {len(sunset_arcs)} sunset arcs.\")\n",
"\n",
"eclipse_arcs = almanac.report_event_arcs(lro_state_spec, eclipse, start_epoch, search_end)\n",
"print(f\"Found {len(eclipse_arcs)} eclipse arcs.\")\n",
"\n",
"if eclipse_arcs:\n",
" print(f\"First eclipse duration: {eclipse_arcs[0].duration()}\")"
]
},
{
"cell_type": "markdown",
"id": "23456789-0abc-def1-2345-67890abcdef1",
"metadata": {},
"source": [
"## 4. Ground Contact Finders\n",
"\n",
"We can simulate ground station visibility by defining locations and masks."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "34567890-abcd-ef12-3456-7890abcdef12",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[save_as] overwriting tutorial_loc_kernel.lka\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found 1 Comm arcs (1 day).\n",
"First pass duration: 8 h 56 min 55 s 251 ms 300 μs 749 ns\n",
"Pass location: DSS65 (#1)\n",
"Number of AER data points: 54\n"
]
}
],
"source": [
"# Define a ground station (DSS65)\n",
"mask = [TerrainMask(0.0, 5.0), TerrainMask(35.0, 10.0), TerrainMask(270.0, 3.0)]\n",
"dss65 = Location(\n",
" 40.427_222,\n",
" 4.250_556,\n",
" 0.834_939,\n",
" FrameUid(399, 399),\n",
" mask,\n",
" terrain_mask_ignored=True,\n",
")\n",
"\n",
"# Create and save an LKA (Location Kernel Anise) file\n",
"entry = LocationDhallSetEntry(dss65, id=1, alias=\"DSS65\")\n",
"dhallset = LocationDhallSet([entry])\n",
"dataset = dhallset.to_dataset()\n",
"lka_path = \"tutorial_loc_kernel.lka\"\n",
"dataset.save_as(lka_path, True)\n",
"\n",
"# Load the LKA into the Almanac\n",
"almanac = almanac.load(lka_path)\n",
"\n",
"# Find visibility arcs\n",
"horizon = Event.visible_from_location_id(1)\n",
"\n",
"comm_arcs = almanac.report_event_arcs(\n",
" lro_state_spec, horizon, start_epoch, start_epoch + Unit.Day * 1\n",
")\n",
"print(f\"Found {len(comm_arcs)} Comm arcs (1 day).\")\n",
"\n",
"# More detailed visibility report\n",
"visibility_arcs = almanac.report_visibility_arcs(\n",
" lro_state_spec, 1, start_epoch, start_epoch + Unit.Day * 1, Unit.Minute * 10, None\n",
")\n",
"\n",
"if visibility_arcs:\n",
" first_pass = visibility_arcs[0]\n",
" print(f\"First pass duration: {first_pass.duration()}\")\n",
" print(f\"Pass location: {first_pass.location_ref}\")\n",
" \n",
" # Access AER (Azimuth, Elevation, Range) data\n",
" print(f\"Number of AER data points: {len(first_pass.aer_data)}\")\n",
"else:\n",
" print(\"No visibility arcs found.\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8ce5aa82-06cf-4a13-8f33-198f652a7e18",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.14"
}
},
"nbformat": 4,
"nbformat_minor": 5
}